const initRoute = () => {
	console.log("执行")
	  // 无需登录的页面白名单（路径需与pages.json中一致）
	  const whiteList = [
	    '/pages/login/login', // 登录页
	    '/pages/index/index', // 首页（若部分内容可匿名访问）
	    '/pages/guide/guide'  // 引导页
	  ]
	
	  // 拦截所有页面跳转
	  uni.addInterceptor('navigateTo', {
	    invoke(args) {
	      checkLoginStatus(args.url)
	    }
	  })
	
	  uni.addInterceptor('redirectTo', {
	    invoke(args) {
	      checkLoginStatus(args.url)
	    }
	  })
	
	  uni.addInterceptor('reLaunch', {
	    invoke(args) {
	      checkLoginStatus(args.url)
	    }
	  })
	
	  // 检查登录状态的核心函数
	  function checkLoginStatus(targetUrl) {
		  console.log(targetUrl, "targetUrl")
	    // 1. 判断目标页面是否在白名单
	    const isWhite = whiteList.some(path => {
	      // 支持模糊匹配（如带参数的路径：/pages/detail?id=1 匹配 /pages/detail）
	      return targetUrl.startsWith(path)
	    })
	
	    // 2. 白名单页面直接放行
	    if (isWhite) return
	
	    // 3. 非白名单页面检查登录状态
	    const token = uni.getStorageSync('token')
	    if (!token) {
	      // 未登录：记录当前要访问的页面，跳转到登录页
	      const currentPage = getCurrentPageUrl()
	      if (currentPage) {
	        // 存储要返回的页面路径，登录成功后可跳转回来
	        uni.setStorageSync('redirectAfterLogin', currentPage)
	      }
	
	      // 阻止原跳转，强制跳转到登录页
	      uni.redirectTo({
	        url: '/pages/login/login'
	      })
	
	      // 抛出错误中断原跳转（避免控制台警告）
	      throw new Error('未登录，已强制跳转至登录页')
	    }
	  }
	
	  // 获取当前页面的路径（用于登录后返回）
	  function getCurrentPageUrl() {
	    const pages = getCurrentPages()
	    if (pages.length === 0) return ''
	    const currentPage = pages[pages.length - 1]
	    return currentPage.route || ''
	  }
}
export default initRoute